Adopt two-phase CI/CD with weekly publish and PR smoke tests#155
Merged
Conversation
Routine merges (Dependabot, codegen) no longer kick off a full build and publish. PRs now only smoke-test, and a weekly scheduled run is the sole publisher, rebuilding both main and develop from a branch matrix. - publish-release.yml: add weekly schedule (Mon 02:00 UTC) + manual dispatch as the publisher; push publishes only when PUBLISH_ON_MERGE is set (opt-in continuous-release); global ref-independent concurrency for real publishes, per-run no-op group otherwise. - test-pull-request.yml: dorny/paths-filter gate + inlined unit tests + never-published smoke build (build-release-task smoke: true). - build-release-task / build-nugetlibrary / get-version / build-datebadge: thread ref/branch/smoke, key config off inputs.branch, pin builds and the release tag to GitCommitId. - Rename build-library-task.yml -> build-nugetlibrary-task.yml and remove test-release-task.yml to match the upstream template naming. - run-periodic-codegen: weekly -> daily (04:00 UTC), staggered after publish. - Docs: AGENTS.md release model + concurrency exception, README two-phase description and scheduled release-build badge, develop ruleset strict-check correction, copilot-instructions workflow list.
This was referenced Jun 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates LanguageTags to the two-phase commit deploy model used by the shared ProjectTemplate (and already ported to NxWitness / PlexCleaner), reduced to this project's single NuGet-library target.
test-pull-request.ymlruns unit tests, then adorny/paths-filterchangesgate runs a reduced, never-published library build (smoke: true). Workflow/docs-only PRs skip the build.publish-release.ymlis the sole publisher: a weekly schedule (Mon 02:00 UTC) + manualworkflow_dispatchrebuild/publish bothmainanddevelopvia a branch matrix. Thepushtrigger only publishes when thePUBLISH_ON_MERGErepo variable istrue(opt-in continuous-release).run-periodic-codegen-pull-request.yml, 04:00 UTC, staggered after the publish). Dependabot already daily — unchanged.Workflow contract / naming
ref/branch/smoke; config keys offinputs.branch(Release on main, Debug elsewhere); builds + release tag pin to NBGVGitCommitId.build-library-task.yml→build-nugetlibrary-task.ymland removedtest-release-task.ymlto match the upstream template's file schema.publish-release.ymlconcurrency exception (global ref-independent group +cancel-in-progress: false) documented in AGENTS.md.Docs
event=scheduleon the Releases Build badge, develop-ruleset strict-check correction (matches AGENTS.md).Verification
dotnet build LanguageTags.csprojpasses in Debug and Release (0 warnings).build-library-task/test-release-taskreferences.actionlintnot run locally (binary unavailable) — relies on CI.🤖 Generated with Claude Code